<?php

namespace Acme\EventBundle\Entity;

// use Acme\UserBundle\Entity\User;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="inscription")
 * @ORM\Entity(repositoryClass="Acme\EventBundle\Entity\InscriptionRepository")
 */
class Inscription {
	/**
	 * @ORM\Column(type="integer")
	 * @ORM\Id
	 * @ORM\GeneratedValue(strategy="AUTO")
	 */
	protected $id;
	
	/**
	 * @ORM\Column(type="integer")
	 */
	protected $information_id;
	
	/**
	 * @ORM\ManyToOne(targetEntity="Information",inversedBy="inscriptions")
	 * @ORM\JoinColumn(name="information_id", referencedColumnName="id")
	 */
	protected $information;
	
	/**
	 * @ORM\OneToMany(targetEntity="Feedback", mappedBy="inscription")
	 */
	protected $feedbacks;
	
	/**
	 * @ORM\Column(type="integer")
	 */
	protected $user_id;
	
	/**
	 *
	 * @var integer @ORM\ManyToOne(targetEntity="\Acme\UserBundle\Entity\User",inversedBy="inscriptions")
	 *      @ORM\JoinColumn(name="user_id", referencedColumnName="id")
	 */
	protected $user;
	
	/**
	 * @ORM\Column(type="integer", options={"default":-1})
	 */
	protected $participate;
	
	/**
	 * @ORM\Column(type="datetime")
	 */
	protected $datum;
	
	/**
	 * @ORM\OneToMany(targetEntity="Statisticresult", mappedBy="inscription")
	 */
	protected $statisticresults;
	
	/**
	 * Constructor
	 */
	public function __construct() {
		$this->feedbacks = new \Doctrine\Common\Collections\ArrayCollection ();
	}
	
	/**
	 * Get id
	 *
	 * @return integer
	 */
	public function getId() {
		return $this->id;
	}
	
	/**
	 * Set information
	 *
	 * @param integer $information        	
	 * @return Inscription
	 */
	public function setInformation($information) {
		$this->information = $information;
		
		return $this;
	}
	
	/**
	 * Get information
	 *
	 * @return integer
	 */
	public function getInformation() {
		return $this->information;
	}
	
	/**
	 * Set user
	 *
	 * @param integer $user        	
	 * @return Inscription
	 */
	public function setUser($user) {
		$this->user = $user;
		
		return $this;
	}
	
	/**
	 * Get user
	 *
	 * @return integer
	 */
	public function getUser() {
		return $this->user;
	}
	
	/**
	 * Set participate
	 *
	 * @param integer $participate        	
	 * @return Inscription
	 */
	public function setParticipate($participate) {
		$this->participate = $participate;
		
		return $this;
	}
	
	/**
	 * Get participate
	 *
	 * @return integer
	 */
	public function getParticipate() {
		return $this->participate;
	}
	
	/**
	 * Set datum
	 *
	 * @param \DateTime $datum        	
	 * @return Inscription
	 */
	public function setDatum($datum) {
		$this->datum = $datum;
		
		return $this;
	}
	
	/**
	 * Get datum
	 *
	 * @return \DateTime
	 */
	public function getDatum() {
		return $this->datum;
	}
	
	/**
	 * Add feedbacks
	 *
	 * @param \Acme\EventBundle\Entity\Feedback $feedbacks        	
	 * @return Inscription
	 */
	public function addFeedback(\Acme\EventBundle\Entity\Feedback $feedbacks) {
		$this->feedbacks [] = $feedbacks;
		
		return $this;
	}
	
	/**
	 * Remove feedbacks
	 *
	 * @param \Acme\EventBundle\Entity\Feedback $feedbacks        	
	 */
	public function removeFeedback(\Acme\EventBundle\Entity\Feedback $feedbacks) {
		$this->feedbacks->removeElement ( $feedbacks );
	}
	
	/**
	 * Get feedbacks
	 *
	 * @return \Doctrine\Common\Collections\Collection
	 */
	public function getFeedbacks() {
		return $this->feedbacks;
	}
	
	/**
	 * Set user_id
	 *
	 * @param integer $userId        	
	 * @return Inscription
	 */
	public function setUserId($userId) {
		$this->user_id = $userId;
		
		return $this;
	}
	
	/**
	 * Get user_id
	 *
	 * @return integer
	 */
	public function getUserId() {
		return $this->user_id;
	}
	
	/**
	 * Set information_id
	 *
	 * @param integer $informationId        	
	 * @return Inscription
	 */
	public function setInformationId($informationId) {
		$this->information_id = $informationId;
		
		return $this;
	}
	
	/**
	 * Get information_id
	 *
	 * @return integer
	 */
	public function getInformationId() {
		return $this->information_id;
	}
	
	/**
	 * Add statisticresults
	 *
	 * @param \Acme\EventBundle\Entity\Statisticresult $statisticresults        	
	 * @return Inscription
	 */
	public function addStatisticresult(\Acme\EventBundle\Entity\Statisticresult $statisticresults) {
		$this->statisticresults [] = $statisticresults;
		
		return $this;
	}
	
	/**
	 * Remove statisticresults
	 *
	 * @param \Acme\EventBundle\Entity\Statisticresult $statisticresults        	
	 */
	public function removeStatisticresult(\Acme\EventBundle\Entity\Statisticresult $statisticresults) {
		$this->statisticresults->removeElement ( $statisticresults );
	}
	
	/**
	 * Get statisticresults
	 *
	 * @return \Doctrine\Common\Collections\Collection
	 */
	public function getStatisticresults() {
		return $this->statisticresults;
	}
}